package ar.uba.fi.algo3.algoTank.TesteosAlgoTank;

import ar.uba.fi.algo3.algoTank.Objetos.Equipamiento.Armamento;
import ar.uba.fi.algo3.algoTank.Objetos.Equipamiento.Canion;
import ar.uba.fi.algo3.algoTank.Objetos.Equipamiento.Cohete;
import junit.framework.TestCase;



public class TestArmamento extends TestCase {
	
	private Armamento armamento;
	private Armamento armamento2;
	private Canion canion;
	private Cohete cohete;
	
	public void setUp(){
		
		armamento = new Armamento();
		armamento2 = new Armamento();		
		armamento.agregarCanion(canion, 10);
		armamento.agregarCohete(cohete, 5);
	}

	
	public void testGetArmaActual(){
		assertSame(cohete,armamento.getArmaActual());
	}
	
	
	public void testAgregarCanion(){	
		assertEquals(armamento.getMunicionesCanion(),10);
		armamento.agregarCanion(canion, 10);
		assertEquals(armamento.getMunicionesCanion(), 20);		
			
		
		assertEquals(armamento2.getMunicionesCanion(),0);
		armamento2.agregarCanion(canion, 10);
		assertEquals(armamento2.getMunicionesCanion(),10);
	}
	
	public void testAgregarCohete(){
		
		//Carga 5 municiones mas de cohete
		assertEquals(armamento.getMunicionesCohete(),5);
		armamento.agregarCohete(cohete, 5);
		assertEquals(armamento.getMunicionesCohete(), 10);	
		
	}
	
	public void testDescontarMunicionCanion(){
	
		armamento.descontarMunicionCanion();
		assertEquals(armamento.getMunicionesCanion(), 9);	
	}
	
	public void testDescontarMunicionCohete(){
		
		armamento.descontarMunicionCohete();
		assertEquals(armamento.getMunicionesCohete(), 4);
	}
}
